package com.lanchetech.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 租户/商家
 */
@ApiModel(value = "com-lanchetech-entity-Tenant")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Tenant implements Serializable {
    /**
     * id
     */
    @ApiModelProperty(value = "id")
    private Long id;

    /**
     * 商家id
     */
    @ApiModelProperty(value = "商家id")
    private Long merchantId;

    /**
     * 租户名称/商家名称
     */
    @ApiModelProperty(value = "租户名称/商家名称")
    private String tenantName;

    /**
     * 商家别名
     */
    @ApiModelProperty(value = "商家别名")
    private String tenantNickname;

    /**
     * 联系人姓名
     */
    @ApiModelProperty(value = "联系人姓名")
    private String contactName;

    /**
     * 状态 0 已关闭 1 已开启
     */
    @ApiModelProperty(value = "状态 0 已关闭 1 已开启")
    private Byte status;

    /**
     * 商家邮箱
     */
    @ApiModelProperty(value = "商家邮箱")
    private String email;

    /**
     * 联系人电话
     */
    @ApiModelProperty(value = "联系人电话")
    private String phone;

    /**
     * 省份行政区划代码
     */
    @ApiModelProperty(value = "省份行政区划代码")
    private Long province;

    /**
     * 城市行政区划代码
     */
    @ApiModelProperty(value = "城市行政区划代码")
    private Long city;

    /**
     * 县(区)行政区划代码
     */
    @ApiModelProperty(value = "县(区)行政区划代码")
    private Long area;

    /**
     * 合并名称
     */
    @ApiModelProperty(value = "合并名称")
    private String mergerName;

    /**
     * 详细地址，街道，门牌等
     */
    @ApiModelProperty(value = "详细地址，街道，门牌等")
    private String address;

    /**
     * 营业执照号码
     */
    @ApiModelProperty(value = "营业执照号码")
    private String licenseNumber;

    /**
     * 营业执照照片
     */
    @ApiModelProperty(value = "营业执照照片")
    private String licenseImage;

    /**
     * 营业执照公司名称
     */
    @ApiModelProperty(value = "营业执照公司名称")
    private String licenseName;

    /**
     * 营业执照有效时间
     */
    @ApiModelProperty(value = "营业执照有效时间")
    private Date licenseValidTime;

    /**
     * 营业执照是否长期有效 0 不是 1 是
     */
    @ApiModelProperty(value = "营业执照是否长期有效 0 不是 1 是")
    private Byte licenseLongTerm;

    /**
     * 法人身份证正面
     */
    @ApiModelProperty(value = "法人身份证正面")
    private String idCardPositive;

    /**
     * 法人身份证背面
     */
    @ApiModelProperty(value = "法人身份证背面")
    private String idCardBack;

    /**
     * 法人身份证姓名
     */
    @ApiModelProperty(value = "法人身份证姓名")
    private String idCardName;

    /**
     * 银行名称
     */
    @ApiModelProperty(value = "银行名称")
    private String bank;

    /**
     * 银行卡号
     */
    @ApiModelProperty(value = "银行卡号")
    private String account;

    /**
     * 开户银行名称
     */
    @ApiModelProperty(value = "开户银行名称")
    private String openBank;

    /**
     * 开户名称
     */
    @ApiModelProperty(value = "开户名称")
    private String openName;

    /**
     * 余额
     */
    @ApiModelProperty(value = "余额")
    private BigDecimal point;

    /**
     * 删除 0 未删除 1 已删除
     */
    @ApiModelProperty(value = "删除 0 未删除 1 已删除")
    private Byte deleted;

    /**
     * 审核状态 0 待审核 1 通过 2 驳回
     */
    @ApiModelProperty(value = "审核状态 0 待审核 1 通过 2 驳回")
    private Byte auditStatus;

    /**
     * 审核时间
     */
    @ApiModelProperty(value = "审核时间")
    private Date auditTime;

    /**
     * 审核回复
     */
    @ApiModelProperty(value = "审核回复")
    private String auditMessage;

    /**
     * 审核人员账号
     */
    @ApiModelProperty(value = "审核人员账号")
    private String auditAdmin;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private Date updatedAt;

    /**
     * 头像
     */
    @ApiModelProperty(value = "头像")
    private String avatar;

    /**
     * 店铺描述
     */
    @ApiModelProperty(value = "店铺描述")
    private String description;

    /**
     * 背景图
     */
    @ApiModelProperty(value = "背景图")
    private String imageUrl;

    /**
     * 综合评分
     */
    @ApiModelProperty(value = "综合评分")
    private Double star;

    /**
     * 店铺属性JSON
     */
    @ApiModelProperty(value = "店铺属性JSON")
    private String feature;

    /**
     * 积分
     */
    @ApiModelProperty(value = "积分")
    private BigDecimal coin;

    /**
     * 视频链接
     */
    @ApiModelProperty(value = "视频链接")
    private String videoUrl;

    /**
     * 介绍
     */
    @ApiModelProperty(value = "介绍")
    private String content;

    /**
     * 自动回复格式
     */
    @ApiModelProperty(value = "自动回复格式")
    private String autoReplyFormat;

    private static final long serialVersionUID = 1L;

    public static TenantBuilder builder() {
        return new TenantBuilder();
    }
}